In the field of digital communications, digital information is typically prepared for transmission through a channel by encoding it. The encoded data is then used to modulate a transmission to the channel. A transmission received from the channel is then typically demodulated and decoded to recover the original information.
The encoding of the digital data serves to improve communication performance so that the transmitted signals are less corrupted by noise, fading, or other interference associated with the channel. The term “channel” can include media such as transmission lines, wireless communication and information storage devices such as magnetic disc drives. In the case of information storage devices, the signal is stored in the channel for a period of time before it is accessed or received. Encoding can reduce the probability of noise being introduced into a recovered digital signal when the encoding is adapted to the known characteristics of the data and its interaction with known noise characteristics of a communication channel.
In typical encoding arrangements, data words of m data bits are encoded into larger code words of n code bits, and the ratio m/n is known as the code rate of the encoding arrangement. Decreasing the code rate reduces the complexity of the encoder/decoder and can also improve error correction capability, however, a decreased code rate also increases energy consumption and slows communication.
Further, it is often desirable for encoded channel sequences to have a spectral null at zero frequency. Such sequences are said to be DC free and particularly found to enhance the performance in perpendicular magnetic recording. Given a sequence of binary digits, wherein a binary digit “1” is plus one (+1) and a binary “0” is minus one (−1), the sequence will be DC free if a running digital sum of the bipolar sequence is bounded. The running digital sum is the sum of all values in a bipolar sequence. When the variation of the running digital sum is kept to a small value, it is known to have a tight or small bound. A tighter bound improves the performance of the channel.
There is a need to provide improved DC free coding techniques that reduce the probability of noise being introduced to the system and have optimal code rates. Various embodiments of the present invention address these problems, and offer other advantages over the prior art.